<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
		// function test () {
		// 	console.log(this);
		// }
		//  new test();
		//  Text();
		// 对象是无序的键值对的集合
		
		function Animal(name,type,barkWay) {
			this.name = name;
			this.type = type;
			this.bark = barkWay;
		}
		
		// 注意:如果像使用正常的函数一样使用构造函数
		// 构造函数中的this将不再指向新创建出来的对象(因为根本就没有创建对象)
		// 构造函数中的this这个时候指向的就是window全局对象
		// 当使用this给对象添加成员的时候,全部都添加到了window上
		// Animal("","",function(){
		// 	console.log("我是函数");
		// });//这是一个错误的演示
		// 
		// window.bark();
		
		// var dog = new Animal("大黄","BYD",function(){
		// 	console.log("汪汪汪");
		// });
		// console.log(dog);
		// var cat = new Animal("小花","bm",function(){
		// 	console.log("喵喵喵");
		// });
		// console.log(cat);
		// console.log(typeof cat);
		
		//js中提供了两个方法来调用其他对象的方法
		// call
		// apply
		
		// 获取具体类型的方式
		var typeStr = Object.prototype.toString.call(/sdfa/);
		console.log(typeStr);
		typeStr = typeStr.slice(8,-1)
		console.log(typeStr);
		
		var o = {};   //构造函数Object
		var b = [];	  //构造函数Array
		
		var c = /sdfa/;
		console.log(typeof c);
    </script>
</head>
<body>

</body>
</html>